﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace TowerDefence
{
    // 声明一个可在Unity编辑器中创建新实例的菜单选项，用于创建塔的数据
    [CreateAssetMenu(menuName = "Towers")]
    public class TowerData : ScriptableObject
    {
        [Header("Tower Info")]  // 塔的基本信息部分
        public GameObject towerPrefab;  // 塔的预制体
        public Sprite icon;  // 塔的图标
        public string towerName;  // 塔的名称
        public int cost;  // 塔的建造成本
        public int sellValue;  // 塔的售卖价值

        [Header("Combat Stats")]  // 塔的战斗统计部分
        public Immunities towerType;  // 塔的免疫属性
        public DamageType damageType;  // 塔的伤害类型
        public float minDamage;  // 塔的最小伤害值
        public float maxDamage;  // 塔的最大伤害值
        public float fireRate;  // 塔的射击速率
        public float range;  // 塔的射程
        [TextArea(1, 2)]
        public string description;  // 塔的描述信息

        [Header("Special Effect")]  // 塔的特殊效果部分
        public List<Effect> effects = new List<Effect>(4);  // 塔的效果列表，最多包含4个效果
        [Space]
        public TowerData upgrade01;  // 塔的升级选项1
        public TowerData upgrade02;  // 塔的升级选项2
    }

}
